МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІКТА
Кафедра ЗІ
З В І Т
До лабораторної роботи №3
з курсу: „ Системи запису і відтворення інформації”
на тему:
„ ДОСЛІДЖЕННЯ МЕТОДІВ ОБРОБКИ
ЗОБРАЖЕНЬ В MATLAB ”
Варіант - 1
Львів-2015
1. Мета роботи
Ознайомитися з основними можливостями обробки зображень
реалізованими в середовищі MatLab.
2. Завдання
1. Ознайомитись з теоретичним матеріалом.
2. Завантажити файл вказаний в завданні відповідно до свого варіанту.
3. Вивести основну інформацію про графічний файл.
4. Накласти на зображення шуми gaussian, salt & pepper, speckle.
5. Провести лінійну фільтрацію зашумленого зображення фільтрами ‘average’, ‘gaussian’, ‘sobel’, ‘prewitt’, ‘unsharp’. Зробити висновки про ефективність фільтрів.
6. Провести медіанну фільтрацію. Зробити висновки про ефективність фільтру.
7. Написати програму збереження відфільтрованого зображення у bmp-файлі.
8. Переконатися у працездатності програми.
/
3. Лістинг програми
clc;
I=imread('E:\Навчання\методички_3_курс\Системи запису і відтворення інформації\Photo\cameraman1.tiff');
subplot(2,2,1);
imshow(I); title('Original Image');
h=imshow('E:\Навчання\методички_3_курс\Системи запису і відтворення інформації\Photo\cameraman1.tiff');
info = imfinfo('E:\Навчання\методички_3_курс\Системи запису і відтворення інформації\Photo\cameraman1.tiff');
G=imnoise(I,'gaussian');
subplot(2,2,2);
imshow(G); title('Gaussian Noise');
SP=imnoise(I,'salt & pepper');
subplot(2,2,3);
imshow(SP); title('Salt & Pepper Noise');
S=imnoise(I,'speckle');
subplot(2,2,4);
imshow(S); title('Speckle Noise');
h=fspecial('gaussian');
FG=imfilter(G,h);
figure('Name','Filers for Gaussian Noise');
subplot(2,3,1);
imshow(FG); title('Gaussian Filter');
s=fspecial('sobel');
FA=imfilter(G,s);
subplot(2,3,2);
imshow(FA), title('Sobel Filter');
u=fspecial('unsharp');
FA=imfilter(G,u);
subplot(2,3,3);
imshow(FA), title('Unsharp Filter');
p=fspecial('prewitt');
FA=imfilter(G,p);
subplot(2,3,4);
imshow(FA), title('Prewitt Filter');
a=fspecial('average');
FA=imfilter(G,a);
subplot(2,3,5);
imshow(FA), title('Average Filter');
h=fspecial('gaussian');
FG=imfilter(SP,h);
figure('Name','Filers for Salt & Pepper Noice');
subplot(2,3,1);
imshow(FG);title('Gaussian Filter');
s=fspecial('sobel');
FA=imfilter(SP,s);
subplot(2,3,2);
imshow(FA), title('Sobel Filter');
u=fspecial('unsharp');
FA=imfilter(SP,u);
subplot(2,3,3);
imshow(FA), title('Unsharp Filter');
p=fspecial('prewitt');
FA=imfilter(SP,p);
subplot(2,3,4);
imshow(FA), title('Prewitt Filter');
a=fspecial('average');
FA=imfilter(SP,a);
subplot(2,3,5);
imshow(FA), title('Average Filter');
h=fspecial('gaussian');
FG=imfilter(S,h);
figure('Name','Filers for Speckle Noise');
subplot(2,3,1);
imshow(FG);title('Gaussian Filter');
s=fspecial('sobel');
FA=imfilter(S,s);
subplot(2,3,2);
imshow(FA), title('Sobel Filter');
u=fspecial('unsharp');
FA=imfilter(S,u);
subplot(2,3,3);
imshow(FA), title('Unsharp Filter');
p=fspecial('prewitt');
FA=imfilter(S,p);
subplot(2,3,4);
imshow(FA), title('Prewitt Filter');
a=fspecial('average');
FA=imfilter(S,a);
subplot(2,3,5);
imshow(FA), title('Average Filter');
K=medfilt2(G);
figure('Name','Median Filers');
subplot(2,2,1)
imshow(K);title('Median filter for Gaussian Noise ');
K=medfilt2(SP);
subplot(2,2,2)
imshow(K);title('Median filter for Salt & Pepper Noise ');
K=medfilt2(SP);
subplot(2,2,3)
imshow(K);title('Median filter for Speckle Noise ');
[m,n]=size(K);
H_I=m;
W_I=n;
W_Real=W_I+(W_I-fix(W_I/4)*4);
File_Size=54+W_Real*H_I+256*4;
Image_Size=W_Real*H_I;
Offset=54+256*4;
d=fopen('E:\Навчання\методички_3_курс\Системи запису і відтворення інформації\Photo\var.bmp','wb');
fwrite(d,'B','uchar');
fwrite(d,'M','uchar');
fwrite(d,File_Size,'int32');
fwrite(d,0, 'int16');
fwrite(d,0, 'int16');
fwrite(d,Offset,'int32');
fwrite(d,40,'int32');
fwrite(d,W_I,'int32');
fwrite(d,H_I,'int32');
fwrite(d,1,'int16');
fwrite(...